package com.pig4cloud.pig.module.api.entity.promoter;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pig4cloud.pig.common.core.annotation.Excel;
import com.pig4cloud.pig.module.api.entity.wx.WxUser;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 平台推广员对象 promoter
 *
 * @author ruoyi
 * @date 2022-06-15
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("promoter")
public class Promoter implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * $column.columnComment
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;

    /**
     * $column.columnComment
     */
	@Excel(name="用户名")
    private String name;

	@Excel(name="微信名称")
	@TableField(exist = false)
	private String userName;

    private String userNo;

    /**
     * $column.columnComment
     */
	@Excel(name="电话号码")
    private String phoneNum;

    /**
     * $column.columnComment
     */
    private String qrCode;

    /**
     * $column.columnComment
     */
    private Integer state;

	/**
	 *  绑定微信id
	 */
	@Excel(name="微信id")
	private Integer wxUserId;
	/**
	 *  是否有现金奖励 0 - 没有  1 - 有
	 */
	private Integer isHasCash;

	/**
	 * 现金奖励规则类型 0 - 新用户注册现金奖励
	 */
	private Integer cashRoleType;

	/**
	 * 邀请组id
	 */
    private Integer groupId;
    private Integer checkState;

	/**
	 *  单个推广价格
	 */
	private Integer singleMoney;

	/**
	 *  是否直接支付
	 */
	private Integer isAutoPay;


    /**
     * $column.columnComment
     */
    @TableField(fill = FieldFill.INSERT)
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @TableField(exist = false)
	private Long inviteUserCount;

    @TableField(exist = false)
	private List<WxUser> wxUsers;

    @TableField(exist = false)
	private String faceUrl;

    @TableField(exist = false)
    private String beginDate;

    @TableField(exist = false)
    private String endDate;
}
